The present invention relates to reducing delays caused by logic in a network interface, more particularly to an arrangement in which, logic for modifying a data packet is incorporated into a media access controller in a network interface device thereby allowing the media access controller to account for the delays caused by the logic.
Local area networks use network cables or other network media to link different nodes (e.g., computers, workstations, and servers) across a common network. Local area networks allow different nodes to access other nodes having common peripheral devices (e.g. printers, servers, and modems). Each local area network architecture uses a media access controller (MAC) enabling a network interface device (NID) at each network node to share access to the network media. In order to control the operation of the network, the network operates under some form of a standard or protocol, such as an Ethernet protocol.
Traditional Ethernet networks (10BASE-T) operate at 10 Mb/s Ethernet protocol, as described by IEEE Standard 802.3; the majority of Ethernet interfaces currently operate at this data rate. However, a newer Ethernet standard, under IEEE standard 802.3u, accomplishes the faster operation of 100 BASE-T systems, at a 100 Mb/s data rate (i.e., a 125 Mb/s encoded bit rate) using unshielded twisted pair (UTP) physical media. The 100 BASE-T standard defines operation over two pairs of category 5 UTP (100 BASE-TX) and over four pairs of category 3 UTP. The 100 BASE-FX network medium, covered by the 100 BASE-T standard, allows operation over dual fiber optic cabling.
In order to transfer information between nodes in a local area network, a media access controller transmits data packets onto a network via a media independent interface. Typically, the data packets are not modified between the media access controller and the media independent interface. However, in some network systems, external logic is placed between the media access controller and the media independent interface to provide modifying of data packets. Reasons for modifying a data packet include incorporating cyclic redundancy check digits with the data packet, encrypting the data packet, appending routing information to the data packet, and other modifications to the data packet. When the external logic modifies a data packet, the media access controller cannot compensate or account for any link latency or delays caused by the external logic.
FIG. 1 is an example of a network interface 10 having logic 12 between the media access controller 14 and the media independent interface 16 according to the prior art. Frame data is supplied from a transmit buffer 18 to the media access controller 14. The media access controller 14 converts the frame data into a converted data packet in accordance with a prescribed network protocol. The converted data packet passes through the external logic 12, which can modify the converted data packet. Since the external logic 12 receives the converted data packet, the media access controller 14 is unaware of any modifications that affect the converted data packet. Therefore, the media access controller 14 cannot account for any delays that may occur as a result of the external logic 12 modifying a data packet. Failure to account for delays can cause communication problems.
For example, if a network is designed according to a prescribed transmission scheme where each node (i.e., media access controller) in the network is given a strict window in which to transmit, then any delay the external logic causes disrupts the entire scheme. As an example, if each node in the network transmits using a round robin scheme where a first node transmits during a given window, then a second node transmits during a given window, and so on, then any delays in a node""s transmission can effect the entire network.
Another concern is that network systems that include a plurality of nodes operating under Ethernet IEEE 802.3 half-duplex protocol may end up losing access to the media channel between contending network nodes due to delay created by the external logic 12.
As a result, in order to deter additional delays, media access controllers need to be able to account for delays. By placing logic between a media access controller and the media independent interface, the media access controller cannot compensate for any delays caused by the logic without adding complexity to the network interface.
There is a need for an arrangement enabling a media access controller in a network interface to account for link latency or delays caused by logic in the network interface.
There is a need for an arrangement enabling a media access controller in a network interface device to account for link latency or delays caused by logic modifying a data packet without adding complexity to the network interface device.
There is also a need for an arrangement enabling a media access controller in a network interface device to account for link latency or delays caused by logic modifying a data packet prior to transmission of the data packet.
There is also a need for an arrangement enabling logic in a media access controller to modify a data packet by appending cyclic redundancy check digits onto the data packet and the media access controller accounting for link latency or delays caused by the logic modifying the data packet.
There is also a need for an arrangement enabling logic in a media access controller to modify a data packet by encrypting the data packet and the media access controller accounting for link latency or delays caused by the logic modifying the data packet.
There is also a need for an arrangement enabling logic in a media access controller to modify a data packet by adding routing information to the data packet, with the media access controller accounting for link latency or delays caused by the logic modifying the data packet.
There is also a need for an arrangement enabling a media access controller in a network interface device to reduce link latency or delays caused by excessive buffering of a data packet by the flip-flops associated with the logic and first in first out (FIFO) buffer in the media access controller.
These and other needs are attained by the present invention where a network interface device is configured for accounting for link latency or delays caused by logic modifying frame data. In addition, the size of the media access controller can be reduced since the flip-flops in the FIFO can be used to buffer the data, thereby reducing the number of flip-flops the logic requires for buffering the data.
According to one aspect of the present invention a network interface is provided comprising a converter configured for receiving frame data from a transmit buffer and converting the frame data into a data packet having a prescribed format for transmission onto a network, logic configured for modifying at least a portion of the data packet, and a first in first out (FIFO) memory configured for buffering the data packet using a plurality of flip-flops. Integrating the logic into the media access controller allows the media access controller to account for any delays or link latency that the logic causes by modifying the frame data. Similarly, placing the converter behind the FIFO rather than in front of the logic allows the media access controller to account for any delays or link latency.
According to another aspect of the present invention a method for a media access controller, comprising, receiving a frame data from a transmit buffer, converting the frame data into a data packet having a prescribed format for transmission, modifying at least a portion of the data packet using logic and buffering the data packet. Integrating the logic into the media access controller allows the media access controller to control the transmission, including the timing of the transmission, of the converted data packet onto the attached network. Similarly, the steps of the above described reference can occur in a different ordering thereby allowing the media access controller to control the transmission and timing of the transmission of the converted data packet onto a network.
Additional advantages and novel features of the invention will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention.